gtk-demo: Tweak tagged entry styling
authorMatthias Clasen <mclasen@redhat.com>
Mon, 2 Nov 2020 16:59:22 +0000 (11:59 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 2 Nov 2020 16:59:22 +0000 (11:59 -0500)
Move the tags closer together, and avoid resizing too much.

demos/gtk-demo/demotaggedentry.c
demos/gtk-demo/tagged_entry.c
demos/gtk-demo/tagstyle.css

index 8d5c93edff14cf4795eb5943d9a64a781002eeeb..8a3ca5e9a333aa99f19d5d2fdf1a6dfa4261c1ad 100644 (file)
@@ -44,11 +44,23 @@ G_DEFINE_TYPE_WITH_CODE (DemoTaggedEntry, demo_tagged_entry, GTK_TYPE_WIDGET,
 static void
 demo_tagged_entry_init (DemoTaggedEntry *entry)
 {
+  GtkCssProvider *provider;
+
   entry->text = gtk_text_new ();
   gtk_widget_set_hexpand (entry->text, TRUE);
   gtk_widget_set_vexpand (entry->text, TRUE);
   gtk_widget_set_parent (entry->text, GTK_WIDGET (entry));
   gtk_editable_init_delegate (GTK_EDITABLE (entry));
+  gtk_editable_set_width_chars (GTK_EDITABLE (entry->text), 6);
+  gtk_editable_set_max_width_chars (GTK_EDITABLE (entry->text), 6);
+  gtk_widget_add_css_class (GTK_WIDGET (entry), "tagged");
+
+  provider = gtk_css_provider_new ();
+  gtk_css_provider_load_from_resource (provider, "/tagged_entry/tagstyle.css");
+  gtk_style_context_add_provider_for_display (gdk_display_get_default (),
+                                              GTK_STYLE_PROVIDER (provider),
+                                              800);
+  g_object_unref (provider);
 }
 
 static void
@@ -212,7 +224,6 @@ static void
 demo_tagged_entry_tag_init (DemoTaggedEntryTag *tag)
 {
   GtkGesture *gesture;
-  GtkCssProvider *provider;
 
   tag->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
   gtk_widget_set_parent (tag->box, GTK_WIDGET (tag));
@@ -222,13 +233,6 @@ demo_tagged_entry_tag_init (DemoTaggedEntryTag *tag)
   gesture = gtk_gesture_click_new ();
   g_signal_connect (gesture, "released", G_CALLBACK (on_released), tag);
   gtk_widget_add_controller (GTK_WIDGET (tag), GTK_EVENT_CONTROLLER (gesture));
-
-  provider = gtk_css_provider_new ();
-  gtk_css_provider_load_from_resource (provider, "/tagged_entry/tagstyle.css");
-  gtk_style_context_add_provider_for_display (gdk_display_get_default (),
-                                              GTK_STYLE_PROVIDER (provider),
-                                              800);
-  g_object_unref (provider);
 }
 
 static void
index c07858b54671dd5eefdf00fd6d751395358778d0..02c336a4c6a1b44094652870e43a67812ae5c4a9 100644 (file)
@@ -66,6 +66,7 @@ do_tagged_entry (GtkWidget *do_widget)
       gtk_window_set_display (GTK_WINDOW (window),
                               gtk_widget_get_display (do_widget));
       gtk_window_set_title (GTK_WINDOW (window), "Tagged Entry");
+      gtk_window_set_default_size (GTK_WINDOW (window), 260, -1);
       gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
 
       g_object_add_weak_pointer (G_OBJECT (window), (gpointer *)&window);
index c470a5e2e2e58fcc75087913eae0b205d4617191..0d1eacb30f3b958b4fb93694da22754f937a60c8 100644 (file)
@@ -1,5 +1,5 @@
 tag {
-  margin: 4px;
+  margin: 4px 0px;
   padding: 4px;
   border-radius: 4px;
   background: lightskyblue;
@@ -17,3 +17,7 @@ tag button {
   padding: 0;
   border: 1px solid white;
 }
+
+entry.tagged {
+  border-spacing: 4px;
+}